Nanodegree key: nd787
Version: 1.0.0
Locale: en-us
Master autonomous flight software engineering skills as you learn about drone robotics, develop sophisticated flying car systems, and write real code for real aircraft.
Content
Part 01 : Introduction to Autonomous Flight
In this course, you will get an introduction to flight history, challenges, and vehicles. You will learn about our quadrotor test platform, work in our custom simulator, and build your first project—getting a quadrotor to take-off and fly around a backyard!
-
Module 01: Introduction to Autonomous Flight
-
Lesson 01: Welcome!
In this lesson you'll meet your instructors and go over some of the logistical details of this Nanodegree program.
- Concept 01: Welcome to the Program
- Concept 02: State of the Industry
- Concept 03: Meet Andy and Jake
- Concept 04: Meet Your Instructors
- Concept 05: Meet Raff
- Concept 06: Projects You Will Build
- Concept 07: Student Support
- Concept 08: Deadline Policy
- Concept 09: Class Schedule
- Concept 10: Community Code of Conduct
- Concept 11: Astounding Flying Machines (Optional)
-
Lesson 02: Autonomous Flight
In this lesson you'll get a high level overview of the concepts underlying autonomous flight and the physical components from which flying vehicles are made.
- Concept 01: Overview
- Concept 02: History of Autonomous Flight
- Concept 03: Vehicle Morphologies
- Concept 04: Why Quadrotors?
- Concept 05: Quadrotor Components
- Concept 06: Airframe
- Concept 07: Motors / Speed Controllers
- Concept 08: Propellers
- Concept 09: Batteries
- Concept 10: Driving a Quad
- Concept 11: Attitude Control
- Concept 12: Autopilot
- Concept 13: IMU Gyros
- Concept 14: IMU Accelerometers
- Concept 15: GPS
- Concept 16: Flight Computer
- Concept 17: Summary
-
Lesson 03: Backyard Flyer
In this lesson you'll write the "Hello, world!" of drone programming as you write event-driven code that causes a quadrotor to take off, fly in a square, and land.
- Concept 01: Lesson Introduction
- Concept 02: Lesson Overview
- Concept 03: Simulator Demonstration
- Concept 04: Simulator Exploration - Manual Flight
- Concept 05: Flight Computer Programming
- Concept 06: Environment Setup
- Concept 07: Simulator Exploration - Programmatic Flight
- Concept 08: The Problems with Sequential Execution
- Concept 09: Event Driven Programming
- Concept 10: Event Driven Programming Explained
- Concept 11: A Simple Flight Plan
- Concept 12: Phases of Flight
- Concept 13: Project Development Workflow Options
- Concept 14: Backyard Flyer (local development)
- Concept 15: Virtual Machine Intro
- Concept 16: Backyard Flyer (X-Windows)
-
Lesson 04: Drone Integration
Walkthrough the steps you need to take to get your code running on an actual drone! We'll show you the steps for the "Intel Aero", but a lot of what you'll learn applies to other drones as well.
- Concept 01: Drone Integration Introduction
- Concept 02: Intel Aero Unboxing
- Concept 03: Intel Aero First Boot
- Concept 04: A Note on Safety
- Concept 05: Intel Aero Setup
- Concept 06: Getting Familiar with QGroundControl
- Concept 07: Configure PX4
- Concept 08: Modifying Backyard Flyer
- Concept 09: Let's go Fly!
- Concept 10: Crazyflie Introduction
- Concept 11: Crazyflie Backyard Flyer
- Concept 12: Crazyflie Keyboard Control
-
Lesson 05: Career Services Available to You
The Careers team at Udacity is here to help you land your dream job - whether it's a new role or growing at your current company. Learn more about how we'll support you in your career growth.
-
Lesson 06: Get Help from Peers and Mentors
You are starting a challenging journey. Take 3 minutes to read how to get help with projects and content.
-
Lesson 07: Get Help with Your Account
What to do if you have questions about your account or general questions about the program.
-
Part 02 : Planning
Flying robots must traverse complex, dynamic environments. Wind, obstacles, unreliable sensor data, and other randomness all present significant challenges. In this course, you will learn the fundamentals of aerial path planning. You will begin with 2D problems, optimize your solutions using waypoints, and then scale your solutions to three dimensions. You will apply these skills in your second project—autonomously navigating your drone through a dense urban environment.
-
Module 01: 3D Motion Planning
-
Lesson 01: Planning as Search
Solving the planning problem really comes down performing search through a state space to find a path from a start state to a goal state and here you'll get a chance to do just that!
- Concept 01: Sebastian Introduction
- Concept 02: Transition to Planning
- Concept 03: The Planning Problem
- Concept 04: Search Space
- Concept 05: Grid Representation
- Concept 06: Search
- Concept 07: Partial Plans
- Concept 08: Breadth vs Depth
- Concept 09: Jupyter Notebooks
- Concept 10: Breadth-First Exercise
- Concept 11: Cost
- Concept 12: Cost Exercise
- Concept 13: Heuristics
- Concept 14: A*
- Concept 15: A* Exercise
- Concept 16: Summary
-
Lesson 02: Flying Car Representation
Your vehicle has a physical size and orientation in the world and here you'll learn how to think about position and orientation as part of your planning solution.
- Concept 01: Sebastian Introduction
- Concept 02: Introduction
- Concept 03: Geodetic Frame
- Concept 04: ECEF Frame
- Concept 05: Geodetic to NED Exercise
- Concept 06: Body Frame
- Concept 07: Euler Angles
- Concept 08: Gimbal Lock
- Concept 09: Rotation Matrices
- Concept 10: Euler Rotations Exercise
- Concept 11: Quaternions
- Concept 12: Quaternion Exercise
- Concept 13: Motions as Transformations
- Concept 14: Configuration Space
- Concept 15: Configuration Space Exercise
- Concept 16: Summary
-
Lesson 03: From Grids to Graphs
Graphs are really just a way of describing how your search space is connected. Here you'll learn about the tradeoffs between grids and graphs and each can be used in your planning representation.
- Concept 01: Sebastian Introduction
- Concept 02: Introduction to Graphs
- Concept 03: Waypoint Extraction
- Concept 04: Collinearity
- Concept 05: Collinearity Exercise
- Concept 06: Ray Tracing
- Concept 07: Bresenham
- Concept 08: Bresenham Exercise
- Concept 09: Putting it Together Exercise
- Concept 10: Grids to Graphs
- Concept 11: Graph Tradeoffs
- Concept 12: Generating Graphs
- Concept 13: Medial Axis Exercise
- Concept 14: Voronoi Graph Exercise
- Concept 15: Graph Search Exercise
- Concept 16: Deadbands
- Concept 17: Summary
-
Lesson 04: Moving into 3D
Here you'll make the leap from two dimensions to three dimensions and discover how you can use different representations of your search space to optimize your planning solution.
- Concept 01: Sebastian Introduction
- Concept 02: Introduction
- Concept 03: 3D Grids
- Concept 04: Voxel Map Exercise
- Concept 05: 2.5D Maps
- Concept 06: Random Sampling
- Concept 07: Random Sampling Exercise
- Concept 08: Probabilistic Roadmap
- Concept 09: Probabilistic Roadmap Exercise
- Concept 10: Local Planning
- Concept 11: Receding Horizon
- Concept 12: Receding Horizon Exercise
- Concept 13: Replanning
- Concept 14: Summary
-
Lesson 05: Real World Planning
In this lesson, you'll dive deep into some advanced concepts that are crucial to motion planning in the real world, where a consideration for physics and preparedness for the unexpected are crucial.
- Concept 01: Sebastian Introduction
- Concept 02: Intro
- Concept 03: Constraints
- Concept 04: Modelling Dynamics
- Concept 05: Modeling Dynamics Exercise
- Concept 06: Dubins Car
- Concept 07: Dubins Car Exercise
- Concept 08: Steering
- Concept 09: Steering Exercise
- Concept 10: RRT
- Concept 11: RRT Exercise
- Concept 12: Adding Obstacles
- Concept 13: Potential Field Planning
- Concept 14: Potential Field Exercise
- Concept 15: Summary
-
Lesson 06: Project: 3D Motion Planning
In this project, you'll get a chance to apply what you've learned about 3D motion planning from the last several lessons to plan and execute a mission in a complex urban environment!
-
Part 03 : Controls
In the previous course, we implemented 3D path planning but assumed a solution for actually following paths. In reality, moving a flying vehicle requires determining appropriate low-level motor controls. In this course, you will build a nonlinear cascaded controller and incorporate it into your software in the project.
-
Module 01: Controls
-
Lesson 01: Vehicle Dynamics
Learn how flying vehicles move in one and two dimensions by understanding how propellers create forces and moments which cause accelerations and rotations.
- Concept 01: Sebastian Introduction
- Concept 02: Introduction to Vehicle Dynamics
- Concept 03: The Forces on A Quadrotor
- Concept 04: Force and Translational Equilibrium
- Concept 05: Rotational Equilibrium 1
- Concept 06: Rotational Equilibrium 2
- Concept 07: Rotor Physics
- Concept 08: Unbalanced Forces Cause Linear Acceleration
- Concept 09: F Equals MA
- Concept 10: Unbalanced Moments cause Rotational Acceleration
- Concept 11: Coaxial Drone Dynamics Exercise
- Concept 12: Coaxial Dynamics Explained
- Concept 13: Tracking Changes to State
- Concept 14: Second Order Systems
- Concept 15: Tracking Changes to State Exercise
- Concept 16: Compact Representations of State
- Concept 17: Uncontrolled Drone Exercise
- Concept 18: Motion in Two Dimensions
- Concept 19: Decomposing Thrust Vectors
- Concept 20: Calculating Moments
- Concept 21: Rotation Rates to Moments and Thrusts
- Concept 22: Calculating Accelerations in 2D Exercise
- Concept 23: Controlling a 2D Quad
- Concept 24: Controlling a 2D Drone Exercise
- Concept 25: Summary
-
Lesson 02: Introduction to Vehicle Control
Learn how to control a drone moving in one dimension using Proportional Integral Derivative (PID) Control.
- Concept 01: Sebastian Introduction
- Concept 02: Lesson Introduction
- Concept 03: Perfect Control
- Concept 04: The problem with open loop control Exercise
- Concept 05: Perfect is Impossible
- Concept 06: Simple Control Diagrams
- Concept 07: P Controllers
- Concept 08: Implement P Controller Exercise
- Concept 09: Two Problems with P Control
- Concept 10: P Controller Tuning Exercise
- Concept 11: Limitations of P Control
- Concept 12: PD Control
- Concept 13: Implement PD Controller Exercise
- Concept 14: PD Incorporating Feedforward Control
- Concept 15: Implement PD with Feedforward Exercise
- Concept 16: PD Math and Reparametrization
- Concept 17: Overshoot, Rise Time, Settling Time
- Concept 18: More Model Errors
- Concept 19: PID Control
- Concept 20: PID Control Exercise
- Concept 21: PID Control Example
- Concept 22: PID controller in practice
- Concept 23: Summary
-
Lesson 03: Control Architecture
The controls problem becomes more difficult in two dimensions. Learn how to use a cascaded PID control architecture to control a flying vehicle that moves in two dimensions.
- Concept 01: Sebastian Introduction
- Concept 02: Intro to 2D Dynamics
- Concept 03: Underactuation
- Concept 04: Coupling
- Concept 05: Lesson Overview
- Concept 06: Motivation for Linearization
- Concept 07: Linearization Math
- Concept 08: Linearization Intuition 1
- Concept 09: Linearization Intuition 2
- Concept 10: Linearization Intuition 3
- Concept 11: Linearization Exploration Exercise
- Concept 12: Controlling Motion Near Hover
- Concept 13: Intro to Cascaded Control
- Concept 14: Implement Linear Controller Exercise
- Concept 15: Separation of Time Scales
- Concept 16: Non-Linear Control
- Concept 17: Implement Non-Linear Controller Exercise
- Concept 18: Comparing Trajectories Exercise
- Concept 19: Summary
-
Lesson 04: Full 3D Control
In this lesson you'll take everything you've learned so far about vehicle dynamics and control and put it together to control a quadrotor that moves in three dimensions.
- Concept 01: Sebastian Introduction
- Concept 02: Lesson Overview
- Concept 03: Review of 2D Dynamics
- Concept 04: World vs Body Frames
- Concept 05: Tracking 3D Dynamics Overview
- Concept 06: Notebook Walkthrough
- Concept 07: 3D Drone Part 1 Exercise
- Concept 08: Tracking Rotations in 3D
- Concept 09: Euler's Equations in a Rotating Frame
- Concept 10: 3D Drone Part 2 Exercise
- Concept 11: Integrating PQR Into the World Frame
- Concept 12: 3D Drone Part 3 Exercise
- Concept 13: Summary of 3D Dynamics
- Concept 14: "Control Knobs" for a 3D Quadrotor
- Concept 15: 3D Control Architecture
- Concept 16: First vs Second Order Systems
- Concept 17: Understanding Attitude Control Equations
- Concept 18: 3D Drone Part 4 Exercise
- Concept 19: Controller Design
- Concept 20: Controller Design 2
- Concept 21: 3D Drone Part 5 Exercise
- Concept 22: Practical Considerations
- Concept 23: From Path Planning to Control
- Concept 24: Trajectory Generation Exercise
- Concept 25: Polynomial Segmentation Exercise
- Concept 26: Conclusion
-
Lesson 05: Project: Building a Controller
In this project you'll implement a controller for a quadrotor in C++.
-
Lesson 06: Drone Integration
Walkthrough the steps you need to take to get a version of your controls project on a crazyflie!
-
Part 04 : Estimation
In this course, we will finish peeling back the layers of your autonomous flight solution. Instead of assuming perfect sensor readings, you will utilize sensor fusion and filtering. You will design an Extended Kalman Filter (EKF) to estimate attitude and position from IMU and GPS data of a flying robot.
-
Module 01: Estimation
-
Lesson 01: Introduction to Estimation
Review basic probability and learn three approaches to state estimation for a stationary vehicle.
- Concept 01: Sebastian Introduction
- Concept 02: Welcome Back
- Concept 03: Intro to Estimation
- Concept 04: Review of Discrete Probability
- Concept 05: Expected Value
- Concept 06: Variance
- Concept 07: Playing with Probabilities Notebook
- Concept 08: Probability Density Functions
- Concept 09: Uniform Distribution Notebook
- Concept 10: Uniform and Gaussian Distributions
- Concept 11: Estimating Parameters from Data
- Concept 12: Multivariate Distributions
- Concept 13: 2D Gaussian Notebook
- Concept 14: Joint and Marginal Distributions
- Concept 15: Correlation and Independence
- Concept 16: Conditional Distributions
- Concept 17: Applying Bayes' Rule
- Concept 18: Approaches to Estimation
- Concept 19: Intro to Least Squares
- Concept 20: Deriving the Maximum Likelihood Estimator
- Concept 21: Fitting a Line with Linear Least Squares
- Concept 22: Least Squares Notebook
- Concept 23: Recursive Estimation
- Concept 24: Recursive Estimation Notebook
- Concept 25: The Problem with non-Linearities
- Concept 26: Calculating the Jacobian
- Concept 27: Non-Linear Least Squares Notebook
- Concept 28: Conclusion
-
Lesson 02: Introduction to Sensors
In this lesson you'll learn about the sensors a drone uses to localize itself in the world. You'll implement sensor models, analyze sources of error, and perform calibration of various sensors.
- Concept 01: Sebastian Introduction
- Concept 02: Welcome Back
- Concept 03: Introduction
- Concept 04: Complementary Sensors
- Concept 05: Inertial Sensors
- Concept 06: Rate Gyro Physics and Implementation
- Concept 07: Gyro Measurement Model
- Concept 08: Gyroscope Measurements
- Concept 09: Dead Reckoning Uncertainty
- Concept 10: Full 3D Attitude Update
- Concept 11: Accelerometers
- Concept 12: Dead Reckoning 3D
- Concept 13: Two Things Accelerometers Measure
- Concept 14: Inertial Navigation vs Position Fixing
- Concept 15: Reading an IMU Spec Sheet
- Concept 16: Three Sources of Error
- Concept 17: Calibration
- Concept 18: IMU Calibration
- Concept 19: Magnetometer Intuition
- Concept 20: Magnetometer Errors and Calibration
- Concept 21: Magnetometer Calibration
- Concept 22: GPS Overview
- Concept 23: GPS Math
- Concept 24: GPS Errors, Initialization, and Calibration
- Concept 25: The Barometer
- Concept 26: Barometer Errors and Calibration
- Concept 27: Barometer and GPS integration
- Concept 28: Summary
-
Lesson 03: Extended Kalman Filters
In this lesson you'll learn how to estimate the state of a drone that's actually moving! You'll implement a Kalman Filter for a 1D drone and an Extended Kalman Filter for a non-linear 2D drone.
- Concept 01: Sebastian Introduction
- Concept 02: Introduction
- Concept 03: 1D PID Control
- Concept 04: Controlling with Noisy Measurements
- Concept 05: Averaging Measurements
- Concept 06: Recursive Averaging
- Concept 07: Averaging Exercise
- Concept 08: The Need for Control
- Concept 09: Estimation Filters
- Concept 10: The Bayes Filter
- Concept 11: The Kalman Filter
- Concept 12: Kalman Predict
- Concept 13: The Measurement Function
- Concept 14: Kalman Update
- Concept 15: Kalman Filter Exercise
- Concept 16: Nonlinear Drone
- Concept 17: EKF Predict
- Concept 18: Non-linear Measurement Model
- Concept 19: EKF Update
- Concept 20: EKF Exercise
- Concept 21: Summary
-
Lesson 04: The 3D EKF and UKF
Take what you learned in the previous lesson and generalize to three dimensions. After learning about the 3D EKF you'll also learn another estimation algorithm called the Unscented Kalman Filter.
- Concept 01: Sebastian Introduction
- Concept 02: Welcome Back
- Concept 03: 3D Estimation Overview
- Concept 04: EKF Tradeoffs 1 - State
- Concept 05: EKF Tradeoffs 2 - Control
- Concept 06: Attitude Estimation
- Concept 07: Complementary Filter Math
- Concept 08: Attitude Estimation Exercise
- Concept 09: EKF Implementation 1 - Overview
- Concept 10: EKF Implementation 2 - Predict
- Concept 11: EKF Implementation 3 - Update
- Concept 12: Kalman Recap
- Concept 13: Drone in 3D Exercise
- Concept 14: The Unscented Kalman Filter
- Concept 15: UKF Sigma Points
- Concept 16: UKF Predict
- Concept 17: UKF Update
- Concept 18: UKF Exercise
- Concept 19: Conclusion
-
Lesson 05: Project: Estimation
In this project you'll implement an estimator to track the position and attitude of a quadrotor moving in three dimensions.
-
Lesson 06: GPS Denied Navigation
How do you estimate vehicle state when you don't have GPS? In this lesson you'll learn about optical flow and particle filters as two approaches to solving this problem.
- Concept 01: Sebastian Introduction
- Concept 02: Introduction
- Concept 03: Optical Flow Estimation Overview
- Concept 04: Good Features to Track
- Concept 05: Feature Tracker Exercise
- Concept 06: Tracking a Single Pixel
- Concept 07: Lucas Kanade Optical Flow
- Concept 08: Optical Flow Exercise
- Concept 09: Translating Optical Flow to Vehicle Velocity
- Concept 10: Intro to Particle Filters
- Concept 11: Sampled Distributions
- Concept 12: Propagating Samples
- Concept 13: Numerical Estimation Exercise
- Concept 14: Sampling from Arbitrary Distributions
- Concept 15: Sensor Modeling
- Concept 16: Monte Carlo Sampling for Sensor Fusion
- Concept 17: Sensor Fusion Exercise
- Concept 18: Putting it All Together
- Concept 19: Particle Filter Exercise
- Concept 20: Particle Filter Pros and Cons
- Concept 21: Conclusion
-
Part 05 : Career Support
GitHub and LinkedIn are both widely used by tech recruiters to find and evaluate job candidates. Get personalized feedback on how to improve yours! You may elect to opt-out of these projects.
-
Module 01: Career Support
-
Lesson 01: Optimize Your GitHub Profile
Other professionals are collaborating on GitHub and growing their network. Submit your profile to ensure your profile is on par with leaders in your field.
- Concept 01: Prove Your Skills With GitHub
- Concept 02: Introduction
- Concept 03: GitHub profile important items
- Concept 04: Good GitHub repository
- Concept 05: Interview with Art - Part 1
- Concept 06: Identify fixes for example “bad” profile
- Concept 07: Quick Fixes #1
- Concept 08: Quick Fixes #2
- Concept 09: Writing READMEs with Walter
- Concept 10: Interview with Art - Part 2
- Concept 11: Commit messages best practices
- Concept 12: Reflect on your commit messages
- Concept 13: Participating in open source projects
- Concept 14: Interview with Art - Part 3
- Concept 15: Participating in open source projects 2
- Concept 16: Starring interesting repositories
- Concept 17: Next Steps
-
Lesson 02: Strengthen Your Online Presence Using LinkedIn
Find your next job or connect with industry peers on LinkedIn. Ensure your profile attracts relevant leads that will grow your professional network.
- Concept 01: Get Opportunities with LinkedIn
- Concept 02: Use Your Story to Stand Out
- Concept 03: Why Use an Elevator Pitch
- Concept 04: Create Your Elevator Pitch
- Concept 05: Use Your Elevator Pitch on LinkedIn
- Concept 06: Create Your Profile With SEO In Mind
- Concept 07: Profile Essentials
- Concept 08: Work Experiences & Accomplishments
- Concept 09: Build and Strengthen Your Network
- Concept 10: Reaching Out on LinkedIn
- Concept 11: Boost Your Visibility
- Concept 12: Up Next
-
Part 06 : Congratulations!
-
Module 01: Congratulations
-
Lesson 01: Congratulations!
Congratulations! You've completed all the requirements for this Nanodegree Program. Pat yourself on the back and share your accomplishment with the world!
-
Part 07 : [Optional] Fixed Wing
While quadrotors are the ideal test platform for aerial robotics, flying cars and other long-range aircrafts leverage the aerodynamic efficiencies of fixed-wing flight. In this course, you will learn how to adapt the concepts you’ve learned so far and successfully fly a fixed-wing aircraft in simulation.
-
Module 01: [Optional] Fixed Wing
-
Lesson 01: Introduction to Fixed-Wing Flight
This lesson provides a brief introduction to Fixed Wing Vehicles, flying cars, and the components of typical fixed-wing aircraft.
- Concept 01: What's a Flying Car?
- Concept 02: History of Hybrid Vehicles
- Concept 03: Fixed Wing vs. Rotary Wing Aircraft
- Concept 04: Components of a Fixed Wing Aircraft
- Concept 05: Components of a Wing
- Concept 06: Installing the Fixed Wing Simulator
- Concept 07: Fixed Wing Control Surfaces
- Concept 08: Summary
-
Lesson 02: Lift and Drag
Build mathematical models for lift and drag, the aerodynamic forces that make fixed wing flight possible (and difficult).
- Concept 01: Introduction to Lift and Drag
- Concept 02: Physics Review
- Concept 03: Fixed Wing Dynamics: Longitudinal vs Lateral/Directional
- Concept 04: Longitudinal Analysis 1
- Concept 05: Longitudinal Analysis 2
- Concept 06: Frames of Reference Summary
- Concept 07: Rotation Matrices Exercise
- Concept 08: Lift and Stall
- Concept 09: Calculating Lift
- Concept 10: Drag
- Concept 11: Pitching
- Concept 12: Trim States and Simplified Models
- Concept 13: Straight and Level Flight
- Concept 14: Climbing Flight
- Concept 15: Fixed Wing Cheat Sheet
- Concept 16: Lift and Drag Exercise
- Concept 17: Conclusion
-
Lesson 03: Longitudinal Model
Analyze both non-linear and linear models of a fixed-wing aircraft's motion in the x-z plane and use linear algebra to identify two oscillatory "modes" of motion.
- Concept 01: Lesson Introduction
- Concept 02: Force-Free Motion
- Concept 03: Characterizing State Variables
- Concept 04: Full Longitudinal Dynamics
- Concept 05: Exploring Longitudinal Dynamics Exercise
- Concept 06: Understanding Oscillations
- Concept 07: The Rest of the Lesson
- Concept 08: Linearized Model
- Concept 09: Eigenvalues and Eigenvectors
- Concept 10: Exploring Complex Exponentials Notebook
- Concept 11: Exponentials and Stability
- Concept 12: Modes of Motion
- Concept 13: Identifying Eigenvalues Exercise
- Concept 14: Short Period Response and Phugoid
- Concept 15: Conclusion
-
Lesson 04: Lateral-Directional Model
Understand the lateral-directional dynamics of fixed wing vehicles by looking at aircraft from above and behind.
- Concept 01: Introduction to Lateral-Directional Dynamics
- Concept 02: Force-Free Motion
- Concept 03: Incorporating Forces
- Concept 04: Coordinated Turns
- Concept 05: Roll-Yaw Coupling
- Concept 06: Static Stability
- Concept 07: The Rest of the Lesson
- Concept 08: Linearized Model
- Concept 09: Identifying Dynamic Modes
- Concept 10: Stability Analysis 1: Roll Mode
- Concept 11: Stability Analysis 2: Spiral Mode
- Concept 12: Stability Analysis 3: Dutch Roll
- Concept 13: Conclusion
-
Lesson 05: Fixed-Wing Autopilot
Apply the concepts of PID control by implementing an autopilot for fixed wing flight.
- Concept 01: Lesson Introduction
- Concept 02: Fixed Wing Trajectories
- Concept 03: System Architecture
- Concept 04: Controller Design Principles
- Concept 05: Lateral Autopilot
- Concept 06: Course Hold
- Concept 07: Inner Loops: Roll and Sideslip Hold
- Concept 08: Longitudinal Autopilot
- Concept 09: Longitudinal Control Loops
- Concept 10: Autopilot Tuning
- Concept 11: Integrator Windup
- Concept 12: Conclusion
-
Lesson 06: Optional Project: Fixed-Wing Control
In this optional project you will control a simulated fixed-wing aircraft by implementing and tuning your own autopilot in Python.
-
Part 08 (Elective): Autonomous Systems Interview
-
Module 01: Autonomous Systems Interview
-
Lesson 01: Autonomous Systems Interview Practice
Start off with some tips on interviewing for an autonomous systems role, then watch how candidates approach their interview questions. Finish off by practicing some questions of your own!
Project Description - Autonomous Systems Interview Practice Project
Project Rubric - Autonomous Systems Interview Practice Project
- Concept 01: Welcome to the Course!
- Concept 02: Job Titles
- Concept 03: Your Part
- Concept 04: One Piece of the Puzzle
- Concept 05: Job Descriptions
- Concept 06: Research the Company
- Concept 07: Let's Get Started
- Concept 08: Perception Engineer
- Concept 09: Perception Engineer Reflection
- Concept 10: Deep Learning Engineer
- Concept 11: Deep Learning Engineer Reflection
- Concept 12: Motion Planning Engineer
- Concept 13: Motion Planning Engineer Reflection
- Concept 14: Mapping/Localization Engineer
- Concept 15: Mapping/Localization Engineer Reflection
- Concept 16: Control Engineer
- Concept 17: Control Engineer Reflection
- Concept 18: My Own Project
- Concept 19: My Own Project Reflection
- Concept 20: Additional Resources to Consider
- Concept 21: Final Thoughts
- Concept 22: Project Instructions
- Concept 23: Perception/Sensor Questions
- Concept 24: Deep Learning Questions
- Concept 25: Motion Planning Questions
- Concept 26: Mapping/Localization Questions
- Concept 27: Control Questions
- Concept 28: General Questions
-